Source material (or a program), such as movies, sports, news, and music typically includes video, audio, and other associated data, which are commonly formatted for storage and transmission according to MPEG-2 Systems Standard ISO/IEC 13818-1 2000, titled “Information Technology—Generic Coding of Moving Pictures and Associated Audio—Part 1: Systems,” pp. 9-21 into a video elementary stream (video ES) and one or more audio elementary streams (audio ES). The video ES and the audio ES are packetized into a video packetized elementary stream (video PES) and one or more audio packetized elementary streams (audio PES). The video PES, audio PES, and associated data are multiplexed into a Transport Stream (TS), which may be delivered to a receiving device, such as a television set or a set top box, via cable, satellite, Digital Versatile Disc (DVD) Player, and/or terrestrial broadcast. PES packets that form a program share a common time base.
Each MPEG-2 Transport Stream (TS) may carry several programs, each of which is made up of one or more program elements. Each program element is packetized for delivery into Transport Stream packets. Each Transport Stream packet is a 188-byte structure made up of a four-byte header and a payload of up to 184 bytes. The TS packet header includes a thirteen-bit Packet Identifier (PID), which is a unique integer value associated with each program element. All packets in a particular program element have the same PID value. Packets in another program element have a unique value of PID.
The identities of the video and audio elementary streams (ES) are defined by descriptive information called Program Specific Information (PSI) included in the Transport Stream (TS). Program Specific Information (PSI) tables contain information needed by receiving devices to demultiplex and present programs. The Program Specific Information (PSI) includes a Program Association Table (PAT) and a Program Map Table (PMT). The PAT provides the association between a program number and the Packet Identifier (PID) value of the Transport Stream (TS) packets carrying a Program Map Table for that program. The Program Map Table (PMT) provides the mappings between program numbers and the program elements that make up the program. The Program Map Table (PMT) lists the elementary stream (ES) components, the “stream type” of each component (e.g., audio stream, video stream, data stream, etc.), and the Packet Identifier (PID) value associated with each elementary stream (ES).
The receiving device receives the Transport Stream (TS), delivers the video portion of the program to a video subsystem such as a display (e.g., television screen), and delivers the audio portion to an audio subsystem such as a decoder/amplifier, a powered loudspeaker, or headphones. Sometimes the receiving device may deliver the audio portion of the program via one or more network interfaces the physical link to the audio subsystem of which is bandwidth limited. In this case, audio may have to be sent in compressed format. Delivery of compressed audio requires time-based alignment (or synchronization) of the (decoded) audio with the associated video (i.e., lip-synch).
One known way to accomplish lip-synch is to include presentation timing information called a presentation time stamp (PTS) in each presentation unit (e.g., per video frame, per audio frame), which indicates the time of presentation of a particular frame with respect to a system clock time base. In essence, the program is a collection of program elements with a common time base.
Frames of decoded video or audio are delivered to the audio/video outputs when the time value of the system clock matches the PTS value. The system clock in MPEG-2 is based on a twenty-seven megahertz (MHz) oscillator that is synchronized on the receiving end by means of Program Clock Reference (PCR) samples. The receiving device uses the values of the PCR samples to adjust its twenty-seven MHz oscillator up or down as necessary to achieve lock with the like oscillator in the source device. In this and other known ways to accomplish lip-synch, the full Transport Stream (TS) is delivered to the receiving device and the receiving device then decodes and delivers the audio portion of the program to one or more audio subsystems. Still other known ways of accomplishing lip-synch involve delivery of audio packets and video packets corresponding to the Program Clock Reference Packet Identifier (PCR PID).
Typically, the video elementary stream (ES) carries the Program Clock Reference (PCR) samples. Timing information in PCR fields needed for lip-synch is coded as the sampled value of a program's system clock. This can be problematical because one or more packets in the video PES commonly include the PCR and the bit rate of the video is too fast to be properly conveyed by the physical layer transport methods used by certain wireless communication systems in use today. For example, the video bit rate (e.g., commonly ranging from two to twenty megabits per second (Mbps)) far exceeds the capacity of well-known wireless technologies such as Bluetooth and the Institute of Electrical and Electronics Engineers (IEEE) 802.11b Standard “Wireless LAN Media Access Control (MAC) Physical Layer Specifications: High-Speed Physical Layer Extension in the 2.4 GHz Band.” As a result, such technologies may be unusable in high-speed applications.